package com.bookcloud.java21.chapter5.静态方法static56;

public class StaticMethods {
  // 静态的属性
  public static int counter = 0;
  // 实例变量
  public int id;

  // 实例方法
  public StaticMethods() {
    id = counter++; // 全局的变量counter
    System.out.println("调用静态变量：" + counter);
  }

  // 静态方法
  public static void staticMethod() {
    // id=100;// 不能访问实例变量和方法
    System.out.println("这是一个静态方法");
    counter = 100;
    // 不能使用this,super关键字
    System.out.println("调用静态变量：" + counter);
  }

  // 实例方法
  public void instanceMethod() {
    System.out.println("这是一个实例方法,id:" + id);
    System.out.println("调用静态变量：" + counter);
  }

  // 静态的工具方法
  public static void calculate(int a, int b) {
    System.out.println("计算结果：" + (a + b));
  }

  // 静态工厂
  public static StaticMethods createStaticMethods() {
    return new StaticMethods();
  }
}
